package com.qixiaobao.addminus.mapper;

import com.qixiaobao.addminus.domain.Addminus;
import com.qixiaobao.addminus.domain.dto.AddminusDTO;
import com.qixiaobao.addminus.domain.vo.AddminusVo;
import org.apache.ibatis.annotations.Mapper;

import java.math.BigDecimal;
import java.util.List;

/**
 * @Description 增减员  数据层
 * @Author yangxm
 * @Date 2025/6/23 10:23
 */
@Mapper
public interface AddminusMapper {


    /**
     * 查询增减员列表
     *
     * @param addminusDTO 增减员信息
     * @return 增减员集合
     */
    List<Addminus> selectAddminusList(AddminusDTO addminusDTO);

    /**
     * @Description 查询增减员人数合计
     * @Author yangxm
     * @Date 2025/6/23 14:03
     * @param addminusDTO
     * @return com.qixiaobao.addminus.domain.vo.AddminusVo
     */
    AddminusVo selectAddMinusPersonTotal(AddminusDTO addminusDTO);

    /**
     * @Description 查询保险费总计
     * @Author yangxm
     * @Date 2025/6/23 15:09
     * @param addminusDTO
     * @return java.math.BigDecimal
     */
    BigDecimal selectCopeInsureFeeTotal(AddminusDTO addminusDTO);

    /**
     * @Description 根据保全单号查询增减员信息
     * @Author yangxm
     * @Date 2025/6/23 15:09
     * @param preservationNoList
     * @return java.util.List<com.qixiaobao.addminus.domain.Addminus>
     */
    List<Addminus> selectAddminusByPreservationNoList(List<String> preservationNoList);

    /**
     * @Description 更新增减员信息
     * @Author yangxm
     * @Date 2025/6/23 16:11
     * @param addminus
     * @return int
     */
    int update(Addminus addminus);

    /**
     * @Description 根据id查询增减员信息
     * @Author yangxm
     * @Date 2025/6/23 16:11
     * @param addminusIdArray
     * @return java.util.List<com.qixiaobao.addminus.domain.Addminus>
     */
    List<Addminus> selectAddminusByIds(Long[] addminusIdArray);

    /**
     * @Description 批量删除批单文件
     * @Author yangxm
     * @Date 2025/6/23 16:11
     * @param addminusIdArray
     * @return int
     */
    int updateEndorsesByIds(Long[] addminusIdArray);
}
